# Лекция: Типы данных в Java

В Java существуют два основных типа данных: примитивные и ссылочные.

## Примитивные типы данных

Примитивные типы данных включают в себя следующие:

- `byte`: 8-битное целое число. Диапазон значений от -128 до 127.
- `short`: 16-битное целое число. Диапазон значений от -32768 до 32767.
- `int`: 32-битное целое число. Диапазон значений от -2147483648 до 2147483647.
- `long`: 64-битное целое число. Диапазон значений от -9223372036854775808 до 9223372036854775807.
- `float`: 32-битное число с плавающей точкой.
- `double`: 64-битное число с плавающей точкой.
- `char`: 16-битный символьный тип данных. Может хранить любой символ Unicode.
- `boolean`: логический тип данных. Может принимать только два значения: `true` или `false`.

## Ссылочные типы данных

Ссылочные типы данных включают в себя классы, интерфейсы и массивы. Они используются для хранения ссылок на объекты.

---

# Практические задания

1. **Создайте переменную каждого примитивного типа и присвойте ей значение. Выведите значение каждой переменной на экран.** (Сложность: 1/5)
```java
byte myByte = 10;
short myShort = 100;
int myInt = 1000;
long myLong = 10000L;
float myFloat = 10.5f;
double myDouble = 100.5;
char myChar = 'A';
boolean myBoolean = true;

System.out.println(myByte);
System.out.println(myShort);
System.out.println(myInt);
System.out.println(myLong);
System.out.println(myFloat);
System.out.println(myDouble);
System.out.println(myChar);
System.out.println(myBoolean);
```

2. **Создайте массив целых чисел, заполните его значениями и выведите значения массива на экран.** (Сложность: 2/5)
```java
int[] myArray = {1, 2, 3, 4, 5};
for (int i = 0; i < myArray.length; i++) {
    System.out.println(myArray[i]);
}
```

3. **Создайте переменную типа `String` (это ссылочный тип данных), присвойте ей значение и выведите его на экран.** (Сложность: 1/5)
```java
String myString = "Hello, World!";
System.out.println(myString);
```

4. **Создайте две переменные типа `double`, присвойте им значения и выведите на экран их сумму, разность, произведение и частное.** (Сложность: 2/5)
```java
double a = 10.5;
double b = 2.5;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b);
```

5. **Создайте переменную типа `boolean`, присвойте ей значение и выведите его на экран. Создайте вторую переменную типа `boolean`, присвойте ей противоположное значение первой переменной и также выведите его на экран.** (Сложность: 2/5)
```java
boolean a = true;
System.out.println(a);
boolean b = !a;
System.out.println(b);
```